<!--博客修改页面-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客修改页</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/blog_edit.css">

    <!-- 引入 jquery.js 库 -->
    <script src="js/jquery.js"></script>

    <!-- 引入 editor.md依赖 -->
    <!-- 引入的是 导入的editor.md包里的指定目录下 css 和js代码 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css">
    <script src="editor.md/lib/marked.min.js"></script>
    <script src="editor.md/lib/prettify.min.js"></script>
    <script src="editor.md/editormd.js"></script>

</head>
<body>

<!-- 导航栏 -->
<div class="nav">

    <!-- <img src="image/img1.jpg" alt="加载失败" > -->
    <img src="image/img1.jpg" alt="图片加载失败">
    <span class="title">我的博客系统</span>
    <!--        <button>内容没显示?点这里试试QAQ</button>-->
    <!-- 此标签用于占位 分隔 -->
    <div class="spacer"></div>

    <!-- 导航栏 存在主页 和注销 -->
    <a href="blog_list.html">主页</a>
    <!-- 跳转到对应后台 实现删除 会话里的值 -->
    <a href="javascript:logout()">注销</a>


</div>


<!-- 写博客的总页面容器 -->
<div class="blog-edit-container">

    <!-- 编辑器标题栏 -->
    <div class="title">

        <input type="text" id="title" placeholder="在此输入文章标题">

        <button id="submit">发布文章</button>

    </div>
    <!-- 博客编辑器 和md编辑器对接 -->
    <!-- 此处格式 由外部editor.md的css 和初始化等设置定义内容 -->
    <div id="editor">
        <!-- 在编辑器里加多行编辑框 最后的内容会被放在其内 但是 在正文隐藏了此编辑框的value里 即可以从 此元素的value里获取到编辑框内容 -->
        <textarea name="content" style="display: none;"></textarea>
    </div>


</div>

<!-- 导入初始化代码 -->
<script>


    // editor编辑器初始化代码
    var editor;

    function initEdit(md) {
        editormd("editor", {
            // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉.
            width: "100%",
            // 设定编辑器高度  相对于 editor div的父类元素 即编辑页面高度减去标题栏高度
            height: "calc(100% - 50px)",
            // 编辑器中的初始内容
            markdown: md,
            // 指定 editor.md 依赖的插件路径
            path: "editor.md/lib/",
            saveHTMLToTextarea: true
        });
    }  // 采取将初始化 md编辑框的 语法封装在initEdit方法里 传递的参数是 修改md编辑器初始的正文, 达到每次调用此方法可以重新初始化编辑器 填充指定的值
    initEdit("# 在这里写下一篇博客");

    let submitdiv = document.querySelector('#submit');
    let titlediv = document.querySelector('#title');
    let contentdiv = document.querySelector('textarea');


    function getBlog() {
        $.ajax({
            url: '/article/getblog' + location.search,
            type: 'get',
            success: function (body) {
                if (body != null && body.code == 200 && body.data != null) {
                    titlediv.value = body.data.title;
                    // 调用封装的方法 进行初始化编辑框 填充从后端获取的正文
                    initEdit(body.data.content);
                } else {
                    alert("文章获取失败!")
                    location.assign("blog_list.html");
                }
            }
        });
    }

    getBlog();

    submitdiv.onclick = function () {

        let desc =prompt('请输入文章的描述信息');
        if(desc.length<5){
            alert('文章描述信息不得低于5个字~');
            return;
        }else if(desc.length>100){
            alert('文章描述信息不得超过100个字~');
            return;
        }
        if (confirm("您确定要修改此文章嘛?")) {


            if (titlediv.value == '') {
                alert("文章标题不能为空!")
                titlediv.focus();
                return;
            }
            if (titlediv.value .length>25) {
                alert("文章标题过长!")
                titlediv.focus();
                return;
            }
            if (contentdiv.value == '') {
                alert("文章正文不能为空!")
                contentdiv.focus();
                return;
            }

            let text = {
                "id": location.search.substring(4),
                "title": titlediv.value,
                "description":desc,
                "content": contentdiv.value,
            }  // 在触发发表时再获取标题和正文内容


            $.ajax({
                url: '/article/modify',
                type: 'post',
                data: JSON.stringify(text),

                contentType: 'application/json ; charset=UTF-8',
                success: function (body) {
                    if (body != null && body.code == 200 && body.data == 1) {
                        alert('文章修改成功~');
                        location.assign('blog_list.html');
                    } else {
                        alert("文章修改失败!");
                        location.assign("blog_list.html");
                    }
                }
            });

        }
    }

    function logout() {
        if (confirm("您确定要退出登录嘛?")) {
            $.ajax({
                url: "/user/logout",
                type: "post",
                data: {},
                success: function (rel) {
                    if (rel.code == 200) {
                        alert("Bye~");
                        location.assign("blog_login.html");A
                    }
                }
            });
        }
    }
</script>

</body>
</html>